{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import  matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from scipy.stats import multivariate_normal\n",
    "import random as rn\n",
    "import eif as iso\n",
    "import scipy.ndimage\n",
    "from scipy.interpolate import griddata\n",
    "import numpy.ma as ma\n",
    "from numpy.random import uniform, seed\n",
    "import time\n",
    "import eif_old as iso2\n",
    "import seaborn as sb\n",
    "from sklearn.ensemble import IsolationForest"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create data\n",
    "mean = [0, 0, 0 ]\n",
    "cov = [[1, 0, 0.], [0, 0.1, 0.0], [0,0,1]]  # diagonal covariance\n",
    "Nobjs = 500\n",
    "np.random.seed(1)\n",
    "x, y, z = np.random.multivariate_normal(mean, cov, Nobjs).T\n",
    "# Add manual outlier\n",
    "x[0] = 3.3\n",
    "y[0] = 3.3\n",
    "z[0] = 3.3\n",
    "X = np.array([x,y,z]).T"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "rng = np.random.RandomState(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "Ntrees = 2000\n",
    "Nsamples = 256"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# scikit learn solution\n",
    "ss = time.time()\n",
    "F0 = IsolationForest(n_estimators=Ntrees, behaviour='new', max_samples=Nsamples,random_state=rng, contamination=0.)\n",
    "F0.fit(X)\n",
    "S0 = F0.score_samples(X)*-1\n",
    "ee = time.time()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "4.244 sec, Scikit Learn\n"
     ]
    }
   ],
   "source": [
    "print('{:.3f} sec, Scikit Learn'.format(ee-ss))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "ss = time.time()\n",
    "F1 = iso.iForest(X, ntrees=Ntrees, sample_size=Nsamples, ExtensionLevel=0)\n",
    "S1 = F1.compute_paths(X_in=X)\n",
    "ee = time.time()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.139 sec, EIF Cython Version\n"
     ]
    }
   ],
   "source": [
    "print('{:.3f} sec, EIF Cython Version'.format(ee-ss))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "ss = time.time()\n",
    "F2 = iso2.iForest(X, ntrees=Ntrees, sample_size=Nsamples, ExtensionLevel=0)\n",
    "S2 = F2.compute_paths(X_in=X)\n",
    "ee = time.time()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "47.351 sec, EIF Python Version\n"
     ]
    }
   ],
   "source": [
    "print('{:.3f} sec, EIF Python Version'.format(ee-ss))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'Scores')"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlAAAAJNCAYAAAD+qksAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeXRc1Zku/GfXPGgeLVuS5dmSLNsysk2wHWKmAGZMuukkEAgJgQwXuulOGvo2Cc5wO7n34wZCh4RA36bpkAVOmEISQoKNSYIBY3mUbXkeZM2zVFJVqab9/VHyqVOSPJRqODU8v7WysnfVOVWvZLP8rr3f824hpQQRERERXTyd1gEQERERpRomUEREREQRYgJFREREFCEmUEREREQRYgJFREREFCEmUEREREQRMiTyy4qKimRVVVUiv5KIiIhoWnbu3NkrpSye6r2EJlBVVVVobGxM5FcSERERTYsQ4vS53uMWHhEREVGEmEARERERRYgJFBEREVGEEloDRURERJHzer1obW2F2+3WOpS0ZLFYUF5eDqPReNH3MIEiIiJKcq2trcjOzkZVVRWEEFqHk1aklOjr60NrayvmzJlz0fdxC4+IiCjJud1uFBYWMnmKAyEECgsLI17dYwJFRESUApg8xc90frdMoIiIiChmGhsb8cADDwAANm7ciMcee2zSNd/+9rexefNmAMATTzwBp9OZ0BhjgTVQREREFDMNDQ1oaGg47zXf/e53lfETTzyBO+64AzabLd6hxRRXoIiIiOiCRkdHsWHDBixbtgxLlizBpk2bsGPHDlx22WVYtmwZVq1aBYfDgXfffRc33HDDpPufffZZXHfddXC5XPjCF76Al19+GU8++STa29uxfv16rF+/XoOfavq4AkVEREQX9NZbb2HmzJn4/e9/DwAYGhpCfX09Nm3ahJUrV2J4eBhWq3XKe3/yk5/g7bffxuuvvw6z2ay8/sADD+BHP/oRtm7diqKiooT8HLHCBIqIiCiFVD38+7h99qkfbjjne3V1dfinf/onPPTQQ7jhhhuQl5eHsrIyrFy5EgCQk5Mz5X3//d//jYqKCrz++usR9VlKdtzCIyIiogtauHAhdu3ahbq6OjzyyCN49dVXL+q+uro6nDp1Cq2trXGOMLGYQBEREdEFtbe3w2az4Y477sA3v/lNbN++HR0dHdixYwcAwOFwwOfzTbqvvr4eP//5z3HTTTehvb190vvZ2dlwOBxxjz/WuIVHRESUQs63zRZPTU1N+OY3vwmdTgej0Yif/exnkFLi/vvvh8vlgtVqVVoTTLR27Vo89thj2LBhA95+++2w9+69915ce+21mDlzJrZu3ZqIHyUmhJQyYV/W0NAgGxsbE/Z9RERE6aC5uRnV1dVah5HWpvodCyF2Simn7MnALTwiIiKiCDGBIiIiIooQEygiIiKiCF0wgRJC/KcQolsIsV/1WoEQ4m0hxNHx/8+Pb5hEREREyeNiVqD+C8C1E157GMAWKeUCAFvG50REREQZ4YIJlJTyLwD6J7x8M4Dnx8fPA7glxnERERERJa3p1kCVSik7xsedAEpjFA9Nkz8g8f6xXjSempjrEhERUaxFXUQug42kztlMSghxrxCiUQjR2NPTE+3X0QQeXwC/ajyDq3/0Z3zuP7bjb57+AL/44JTWYRERUYa4/vrrMTg4CAB48sknUV1djdtvv13jqOJvup3Iu4QQZVLKDiFEGYDuc10opXwGwDNAsJHmNL+PJnB7/di04wx+/ufjaB9yh733vd83o6GqANVlUx/sSEREFCtvvvmmMv7pT3+KzZs3o7y8XMOIEmO6K1BvALhrfHwXgN/EJhy6GB1DLlzx2Lt49I0Dk5InILgq9cCLu+Hy+DWIjoiI0tULL7yAVatWYfny5bjvvvvg9/tRVVWF3t5efOUrX8GJEydw3XXX4fHHH5/y/pGREdx9992oq6vD0qVL8corr+D06dNYsGABent7EQgEsG7dOvzpT3/Cjh07sHTpUrjdboyOjqK2thb79++f8nO1cMEVKCHEiwA+AaBICNEK4FEAPwTwKyHElwCcBnBbPIOkcL/8sCUscSq0m/CldXOwZl4RPvPMh3B5/TjaPYL/9eZBfP+WOg0jJSKimNuYG8fPHjrnW83Nzdi0aRO2bdsGo9GIr33ta/jlL3+pvP/000/jrbfewtatW1FUVDTlZ3zve99Dbm4umpqaAAADAwPIz8/HQw89hK9+9atYtWoVampqcM011wAAbrrpJjzyyCNwuVy44447sGTJkhj+sNG5YAIlpfzsOd66Msax0EWQUuK3+0KnWf+P9fPx9fXzYTXpAQCP3liDh18N/sV84cMWrFtQjE/WztAkViIiSh9btmzBzp07sXLlSgCAy+VCSUlJRJ+xefNmvPTSS8o8Pz/YRvKee+7Br3/9azz99NPYs2eP8v63v/1trFy5EhaLBU8++WQMforYYSfyFNPUNoTTfU4AQLbZgP9xRSh5AoC/W1mB6+tCCdNDr+xD5xTbfERERJGQUuKuu+7Cnj17sGfPHhw+fBgbN26MyWc7nU60trYCCG7zndXX14eRkRE4HA643cn1b9l0i8hJI2/sCa0+XVM7AxajPux9IQR+cOtS7GkZRPuQG4NOLx7ctAcv3LMaep1IdLhERBRr59lmi6crr7wSN998Mx588EGUlJSgv78fDocjos+4+uqr8dRTT+GJJ54AEL6Fd/vtt2P27Nn48pe/jN/97ncAgPvuuw/f+973cPLkSTz00EP4yU9+EvOfa7qYQKWQQEDid/s6lPmNy8qmvC7XZsTjf7ccn3n2Q0gJfHCiD7/b146bl89KVKhERJRmampq8P3vfx/XXHMNAoEAjEYjnnrqqYg+45FHHsHXv/51LFmyBHq9Ho8++igKCwuxY8cObNu2DXq9Hq+88gqee+456PV6GI1GfO5zn4Pf78dll12Gd955B1dccUWcfsLIiGAbp8RoaGiQjY2NCfu+dPPRyX7c9vMPAAD5NiM++terYNSfexf2B2824+d/OQEAWLegCL/40uqExElERLHV3NyM6upqrcNIa1P9joUQO6WUDVNdzxqoFPLbvaHtu+vqys6bPAHAnZdVKeNtx3rRPZxc+8dERESpiglUivD5A3izSbV9t3TmBe+ZlWfF6jkFAICABN5QJWBERETx8txzz2H58uVh//v617+udVgxxRqoFPHBiT70jXoAAKU5ZqwaT4wu5FMrZmH7yeD5eK/tbsM96+bGLUYiIiIAuPvuu3H33XdrHUZccQUqRaifvttQN/Oin6i7dkkZTIbgH/OB9mEc6YrsiQkiIiKajAlUChjz+fHWgU5lfq6n76aSazXiqupQo7PXdrfFNDYiIqJMxAQqBfzlSC8cbh8AoDzfiuUVeRHdf2t96FDH3+xuQyDAM52JiIiiwQQqBaifvrtx2UwIEVlDzMsXFiPfZgQAtA+5lZooIiIimh4mUEnO6fHh7YNdyvxinr6byGTQ4QbVfa9zG4+IiGLk+uuvx+DgIADgySefRHV1NW6//faYfPaePXvw5ptvKvONGzfisccei8lnR4sJVJL74HgfXF4/AGBesR3VZdnT+pxb6kNdyN9s6oB7/DOJiIii8eabbyIvL1ha8tOf/hRvv/02fvnLX8bksycmUMmECVSSO9QZempu3YLiiLfvzlpRmYfZhTYAgGPMhy3N3TGJj4iIMscLL7yAVatWYfny5bjvvvvg9/tRVVWF3t5efOUrX8GJEydw3XXX4fHHH5/y/o0bN+Lzn/88Pvaxj2HBggV49tlnAQB33nknXn/9deW622+/Hb/5zW/w7W9/G5s2bcLy5cuxadMmAMDBgwfxiU98AnPnzsWTTz6p3POjH/0IS5YswZIlS5Sz9k6dOoXq6mp8+ctfRm1tLa655hq4XK6Y/C7YByrJqROoRTOmt/oEBA8ZvmX5LPx4y1EAwafxNiy9+Kf5iIgoOdQ9Xxe3z266q+mc7zU3N2PTpk3Ytm0bjEYjvva1r4WtND399NN46623sHXrVhQVFZ3zc/bt24cPP/wQo6OjqK+vx4YNG/ClL30Jjz/+OG655RYMDQ3h/fffx/PPP4+BgQE0NjYqhwhv3LgRhw4dwtatW+FwOLBo0SJ89atfxb59+/Dcc89h+/btkFJi9erVuPzyy5Gfn4+jR4/ixRdfxLPPPovbbrsNr7zyCu64446of1dcgUpyR1QJ1MLS6SdQAHCrahvv3cPd6B9vzElERHQhW7Zswc6dO7Fy5UosX74cW7ZswYkTJyL+nJtvvhlWqxVFRUVYv349PvroI1x++eU4evQoenp68OKLL+LTn/40DIap13g2bNgAs9mMoqIilJSUoKurC++99x5uvfVW2O12ZGVl4VOf+hT++te/AgDmzJmD5cuXAwAuueQSnDp1atq/AzUmUEnM4wvgeM+IMl9YmhXV51UV2VFfGdyn9gUktjR3XeAOIiKiICkl7rrrLuzZswd79uzB4cOHsXHjxog/Z2Ipytn5nXfeiRdeeAHPPfccvvjFL57zfrPZrIz1ej18Pt95vy/S6y8Wt/CS2Km+UfjGezbNyrMi22KM+jOvrinF7pbg0xLvH+/D3zZURP2ZRESUOOfbZounK6+8EjfffDMefPBBlJSUoL+/Hw5H5Kdb/OY3v8G//Mu/YHR0FO+++y5++MMfAgC+8IUvYNWqVZgxYwZqamoAANnZ2Rf1HevWrcMXvvAFPPzww5BS4rXXXsMvfvGLiGOLBFegktjhsO276Fafzlo7P7Qvve1YL6RkU00iIrqwmpoafP/738c111yDpUuX4uqrr0ZHR8eFb5xg6dKlWL9+PS699FJ861vfwsyZwTY7paWlqK6uDjtDb/369Th48GBYEflUVqxYoSRgq1evxj333IP6+vrIf8gIiET+A9rQ0CAbGxsT9n2p7v/+6TD+/Z1jAID7Lp+Lf7muOurP9Ack6r/7JwyPdzZ/+8GPY0GUtVVERBRfzc3NqK6O/t8ArW3cuBFZWVn4xje+Mek9p9OJuro67Nq1C7m5uQmPbarfsRBip5SyYarruQKVxNRP4C2O4gk8Nb1O4LJ5oVWo9471xuRziYiIpmvz5s2orq7G/fffr0nyNB2sgUpiR7pi9wSe2pr5hcrhxNuO9eHuNXNi9tlERETPPfccfvzjH4e9tmbNGjz11FNTXn/VVVfh9OnTiQgtZphAJSmnx4eWficAQCeAecUR1EB5nMDRPwGF84EZSya9vUZVB/XhiT74/AEY9FyMJCKi2Lj77rvDapnSEf/VTFLHukdwtjytqsgOi1F/cTe27QR+vg749V3A02uBA69NumROkR0zcy0AgJExH/a2DsUqbCIiihM+9BM/0/ndMoFKUuon8BZdzPad3wu8+0PgP64G+o6NvyiBV+8FTm0Lu1QIgctUq1Dvsw6KiCipWSwW9PX1MYmKAykl+vr6YLFYIrqPW3hJ6nAkR7j0HgNeuze4+jSR3wO89Fngi38ESkJPF6ydX4SXd7YCCBaS33/lgpjETUREsVdeXo7W1lb09PRoHUpaslgsKC8vj+geJlBJ6nDXRa5AHdsMvHQH4FMdjlj5MWD9/wReuQcY6QLcQ8ALnwbu2QzkBPttXDa/ULl8V8sAnB4fbCb+dSAiSkZGoxFz5vCBn2TCLbwkFfYE3rlWoKQEfvtgKHnSGYGrvgN84ffAnI8Dt/8aMI0Xnw+3AS/8TTCZAlCSbVGac3r9EjtODcTtZyEiIko3TKCS0KDTg67hMQCAyaDD7ALb1Be27gCGWoJjSy5w71Zg7T8AOn1wn7xsGfB3vwB04ytL3QeAl24HfMFDhNdM6EpOREREF4cJVBI60hU6QHh+cda5WwzsfzU0rrkZmFEHAHj16Ku46uWr8MU/fhFnShYAN6v6bpz6K7A7eD6Q+liX944ygSIiIrpYTKCSUFj907m27wL+8BYFSz4Nj9+D73zwHTz6/qPodnZjR+cOfPb3n8VHJXOBj/9z6NrG5wApsWpOAfS64CnYBzuG0T/qicePQ0RElHaYQCWhw53DyvicCdTp94GRYDdx2IvRXbwQd//xbrx85OWwy4bGhnDv2/fixaIySIM1+GJXE9C+C9kWI5ZX5CnXvn+cq1BEREQXgwlUEjrSGdrCO+cTePtfUYa7FlyO2978HPb17FNeu6LiChRZg1t0funHv+1+HN+ZuwTesxfsfB4A66CIiIimgwlUkpFShm3hTfkEnt8LNL8BANhss+JLw43oc/cBAPRCj282fBNPrH8CL254ETWFNcptr3i7cE9ZCVxCBBOwMQfWzAu1M9h2rC9OPxUREVF6YQKVZLodYxhyBdeJsswG5ciVMCf/DDj74Afwg6Ii+GQAAJBvzsczVz+DO2vvhBACM+wz8Py1z+P6Odcrt+6yWPBfudmAZwTY/wrqK/NhHT8mpqXfiTPj5+8RERHRuTGBSjLqDuQLS7MghJh80fjTd9stFnTrg+/nm/Ox6YZNWFW2KuxSi8GCH677Ib6y7CvKay/mZAdXoXY+D5NBh5VzCpT3Gk/3x/LHISIiSktMoJJM+BEuOZMv8I0Bzb8FAPw22668vGHuBpRllU35mUII3Lv0Xsy0B7uQD+j1eC3LDrTvAjr2YUVlqJB81+nBWPwYREREaY0JVJIJP8Ila/IFxzYDY8MYFQJb7KEE6qZ5N533c406I+6svVOZP5+bEywo3/U8VlTmK6/vPsOO5ERERBfCBCrJXPAIl/Htu7ftNrjGd/fm583H4oLFF/zsW+ffijxzcLWp3WjAH+02YN+vsGyGSbmmucMBp8cXxU9ARESU/phAJZFAQIYlUJNaGHhGgcNvAgDeyAqtPt087+apa6UmsBlt+Nzizynz53JzIMeGkXv8d1hQElzt8gckmlqHovkxiIiI0h4TqCRyZsAJtzf4RF1RlgmFWebwC478EfA60W7QY4c1+HSeTuiwYe6Gi/6Ozy7+LKzjDTWPmE14z2oBdj2PenUdVAvroIiIiM6HCVQSOdUXaiEwr3iK+qfx5pm/U9U+fWzmx1BsK77o78iz5OHTCz6tzP8zNwc4sx2fyA/1gNrdwjooIiKi82EClUQ6Bl3KeFaeNfzNgB84vhUSwBuqp+9umnv+4vGp3FlzJwzCAABotFqwz2zCasfbyvu7WgYhpYz4c4mIiDIFE6gk0j7kVsZleRMaaPafALyj2Gc24bTRCACwG+1YX7k+4u8pyyrDdXOuU+b/mZuDgo4/I9scTKp6R8bQOuA61+1EREQZjwlUElGvQJXlTliB6mwCEF48/smqTyr1TJG6e8ndyvgdmxUn+w/j8pl+5bVd3MYjIiI6JyZQSaRDtQI1c+IKVNd+eAD8QVX/dOPcG6f9XQvyF+Dy8ssBAFII/Do7CzfYm5X3d7OQnIiI6JyYQCWR9qHzr0C9a7PCoQ/+kc3KmoUVpSui+r7PLP6MMt5qs2G5p1GZs5CciIjo3JhAJQkpJToGVStQkxKo/fitavvuxnk3Qiei++NbPWM1ssa3ANuMBgz2fwgdgm0UDrQPw+31n+92IiKijMUEKkkMubxwjScsNpMeOVZD6M3RPngd7XjfGkqqotm+O8uoN2Lt+DYeALxr8OG6/HYAgC8gsb+NDTWJiIimwgQqSbSrVp/Kci3hncW7mnDUZIRHF3xtVtYsVOZUxuR7r6i8Qhm/Y7PhpizWQREREV0IE6gk0XHe+qf92G8OdSWvLayN2feunbUWBqEHADSbTSj37VDe45N4REREU2MClSTCekDlTn4C76A5dOBvbVHsEqhsUzZWlYSK0ff5TyMPwfP4uAJFREQ0NSZQSaJTvQI1sQt5537sN4USqCWFS2L63eurrlHG79gsuMJ0MPi1w260D7KhJhER0URMoJJE+BN4qhUonwfu3kM4ZjIqL1UXVsf0uz9R8Qll3Gix4Kqs/cqcq1BERESTMYFKEu3nWoHqPYzDBgH/eFF5VU4Vsk3ZMf3uGfYZqM2uAgD4hIDLsB9A8Cw81kERERFNxgQqSYR1IVevQHXux/441T+prZ+7QRl/YPZhsTgDgA01iYiIpsIEKglIKcMSqLAVqK79OBjH+qezrph9pTL+q82KtfrdAID9bcMY87GhJhERkRoTqCTQN+qBxxfsAJ5tMSDLrGqi2bkvvIVBnFag5ufNR7kpDwDg1OlQnrMXAODxB3CowxGX7yQiIkpVTKCSwDmPcJESo137cdIYTKh00GFxweK4xCCEwBWVoVWo09Ye2BCMq4kdyYmIiMIwgUoC4QXkqvonRwcOBkYhxwvI5+XNg9VgnXh7zKyfd4My/rPNjEt1wafxDrQzgSIiIlJjApUEOgbP0YW8sym8/qkoPvVPZy0vWY58XfD7egwGLLJ+BIArUERERBMxgUoC534Cryn8CbwYHuEyFYPOgI8X1yvzkezTAIDDnQ4WkhMREakwgUoC7ed5Au+AOXErUACwfsGtyviozYMcjMLrlzjSORL37yYiIkoVTKCSgHoLT70CNdTZhDPGYAdyg9BjQf6CuMfSUL4WIthDE4dMJizTB4914TYeERFRCBOoJDBlDyjPKA6MtiqvL8pfCJPeNPHWmMs152KhMdjp3C8Eyux7AAD7WUhORESkYAKlMX9AonNYlUCdXYHqbg7bvqstqktYTA0FoVoraWsBAOznChQREZGCCZTGekfG4A8E98wK7CZYjPrgG51NCa9/Oquh6hpl3GYdhQE+HOpwKM0+iYiIMh0TKI21h7UwOPcTeDWFNQmL6ZI5VynjZrMR1bqj8PgDONLFjuREREQAEyjNhdU/qRKo3q696DIEO5BbdEbMy5uXsJjyLfmYrwvWYvmEwGz7LgDcxiMiIjqLCZTG2qdqohkI4MDQceX16vyFMOgME2+Nq0tyQ0/86W0nALCQnIiI6CwmUBoLfwJvfAXK0Y4DulC9UW3J8kSHhYbK9cq4xzoEQKKpbTjhcRARESUjJlAa6xhS94AaX4EabAnvQJ7AAvKzGhbcpIwPWfSo0LWjuWMYXj8LyYmIiJhAaax9cHINlBw4Hd7CIM5HuEylyF6CKgSbeHqFwDzrR/D4AjjaxY7kRERETKA0FrYCNd5Es6/vMPr1wXYGdmHA7JzZmsTWkF2ljK32owBYSE5ERAQwgdKU1x9At2MMACAEUJoTXIFqGTimXFNlLoROaPPH1DBrrTIetPUB4JEuREREABMoTXUNuyHHz50ryjLDZAj+cbSMhI5wqcyaqUVoAICGRZ9SxkfNEjlikE/iERERgQmUptRP4KkPEW5x9ynjigT2f5qoNK8KFTL4V2RMp8NC20do7hiGj4XkRESU4ZhAaWjKHlB+H84EnMrrlUWJ60A+lQbrLGWcYzsItzeAYz0sJCcioszGBEpDU/aAGm5Di0GvvF6ZPz/RYYVZWbZKGY/augEATa3cxiMioszGBEpDHYOTe0DJgdM4YzAqr1dkVyQ8LjV1HdRJiw9GjPFJPCIiynhMoDTUPsUK1GDfYTj0wT8WG3QotBRqEttZZaVLMcsfHLt0Osy3NmJ/OzuSExFRZmMCpaHOsIOEgytQLX3NymuVxhwIIRIe10SXWEqUcYG9CQfbh+EPSA0jIiIi0hYTKA2FN9Ec7wE1dEp5rcJanOiQptRQHDqLz2Nrh8vrx8leFpITEVHmYgKlkTGfH70jHgCAXidQkh1MoM64upRrKnIqNYltokvm36CM2yxjACQOcBuPiIgyGBMojXQNjSnjkmwz9LrgVl2LJ1SgXVmwOOFxTaWich3yxns/OfQCxcbjONjBBIqIiDIXEyiN9I6GJ1AAAJ8HZ+BRXq8sqUt0WFMSegOW6GzKvNy+Fwe5AkVERBmMCZRGeh2hBKowazyBGm7DGYNBeV3LLuQTLc0OHWhstp7EwfZhSMlCciIiykxMoDTSNxpaaSq0mwAAw73NGNAHm2iaJVBiK5nyXi3UzWhQxiOWAfSNepSDkImIiDINEyiN9I1MXoE607Nfea1Cb4VOJM8fT92865Vxm9kHCA+38YiIKGMlz7/QGebsE3gAUJQVXIE6M3BMea3CXJDwmM4nt7QOs33BQnKfEJhlOcBCciIiylhMoDQStoU3nkC1OFqV1yrtZQmP6byEQJ0hV5mWWA9wBYqIiDIWEyiNqLfwisa38FrcvcprlUlUQH7WkrzQwcY62xkcaOeZeERElJmYQGmkV10DZR+vgfI7ldcqimoTHtOFLJ21RhkPWIZxqs+JkTGfhhERERFpgwmURvom1kD5xtAiAsprlaX1WoR1XovmXQvjeOuCHqOEXj+MQ6yDIiKiDMQESgP+gES/M5RA5dtNcPYdRa8h2MLAICVm5FRoFd45mfJno9oX6v1Ubt3DQnIiIspIUSVQQogHhRAHhBD7hRAvCiEssQosnQ04PTjbgzLPZoRRr8OZzt3K++UwQq/TaxTd+dWZQwcc59sOs5CciIgy0rQTKCHELAAPAGiQUi4BoAfwmVgFls7U23dnm2i29B1UXqswZic8potVV1itjAOWDh4qTEREGSnaLTwDAKsQwgDABqA9+pDS35RP4A2dUl6rtBRPvCVpLK34hDLutjhxuGsYXn/g3DcQERGloWknUFLKNgCPAWgB0AFgSEr5p1gFls56R9UF5ONP4Dk7ldcqcioTHtPFKp97FfL8fgDAqB4Qunac6BnVOCoiIqLEimYLLx/AzQDmAJgJwC6EuGOK6+4VQjQKIRp7enqmH2kaCT9IeLwLuSfUU6myYFHCY7pYwl6IJYFQfdZM614c7GA/KCIiyizRbOFdBeCklLJHSukF8CqAyyZeJKV8RkrZIKVsKC5O3q2pROobndwDqkWGVqUqS5YmPKZILLXNVMbZtmM40MY6KCIiyizRJFAtAC4VQtiEEALAlQCaYxNWegsrIs8ywe0aQKdeAAD0UmJmEvaAUqsrXqaMxyzdbGVAREQZJ5oaqO0AXgawC0DT+Gc9E6O40trEg4TbOnYp87KAgNFk1SKsi1Y352pl3G0ew4GOPkgpz3MHERFReonqKTwp5aNSysVSyiVSys9LKccufBeFbeFlmdHS06TMK3XJ30ort4kJ4h8AACAASURBVPIyzPZ6AQA+IeCVR9Ex5NY4KiIiosRhJ3INhB/jYkbLwBFlXmHO1yKkyJjsqBOhVbKZ1n1sqElERBmFCZQGwg4SzjLhjKNVmVfaZ051S9JZkjVbGZutp9hQk4iIMgoTqARzenxweoJ9lEx6HbLNBrS4e5X3K3PnahVaRJaWNShjh7WfrQyIiCijMIFKsIlP4Akh0OIPNaKsKK7RIqyILZpzNQzjheMDRj+aOjo0joiIiChxmEAlWN9oeALl9XvRgeCKlJAS5TNWaBVaRExl9Vjg8Slzh3s/hlxeDSMiIiJKHCZQCaY+B6/QbkbbwDEERLAHVKk/AHPe7HPdmlwMJtTo7cq01NaMQ+wHRUREGYIJVIJNfAKvozvUwmAm9IBOP9VtSakmO5TsmSxn2FCTiIgyBhOoBOtV9YAqyjKha+CYMp+ht2kR0rTVloa2G0csA2xlQEREGYMJVIL1OsJroLpG2pR5qSlXi5CmbUHVFWGF5Ps7OzWOiIiIKDGYQCXYxIOEu0ZDSUeppVCLkKbNVLYc8z2hwvH2oSZ4/QENIyIiIkoMJlAJNrGNQffYgDKfkVWmRUjTZ7KhVhfadiwwH8DxnhENAyIiIkoMJlAJpu5CXpRlRpc3lHCUZldqEVJUarJCMZutLayDIiKijMAEKsHUfaCKsszoCoQSqtL8+VqEFJWa0npl7DT3M4EiIqKMwAQqgQIBiX5VAmW3SAyIYM2QQUoUFKZeArVg9idCheQmH5o6WEhORETpjwlUAg26vPAHgslGjsWAwbEe5b1ivx/6nFlahTZt5pkrwgrJj/U3QY4nVEREROmKCVQC9U2of+ocOK7MS/0SMGdrEVZ0LDmoFmZlatftQ8eQW8OAiIiI4o8JVAL1TngCr6v/qDIvESYtQoqJWnuFMrZaTqOZHcmJiCjNMYFKoEk9oIZPKfNSo32KO1JDTclyZeyysJCciIjSHxOoBJrYA6rL0a7MS835WoQUEwtnX64qJPdiXzsLyYmIKL0xgUqgiTVQXe5QEXmptUSLkGLCPKsB81SF5M29Tee5moiIKPUxgUqg3rAeUCZ0jQ0p8xlZqfcEnsJWgBoYQ3PfHjjc3nNfT0RElOKYQCVQr0NVA5VlRrfPqcxL86o0iCh2auyhBNBqOYlDnQ4NoyEiIoovJlAJpO5CnmvVoVcGV2mElChKwS7kajXFy5TxmKWPheRERJTWmEAlkLoGSmd0QIrguMjvhzEFm2iqLay4HHpVIfneNhaSExFR+mIClUDqp/B86FfGpX4/kD1Di5BixlIeXkh+oIeF5ERElL6YQCWI2+uHY8wHADDoBEbHzijvlQaQml3I1bJLUR3QK9NR5274/AENAyIiIoofJlAJoj5EuDDLhK6BE8q8RGcBhNAirJiqtc9UxhbzcZzoHdUwGiIiovhhApUgYU007WZ0OVQrUMYUX30aV1NUp4zHLL0sJCciorTFBCpBekfULQxM6BoNFVmXWgq1CCnmFlV+XCkkHzR5WEhORERpiwlUgvRO7ELu6lPmpfbULiA/yzKrAXO9oULyPZ0HNIyGiIgofphAJYi6B1Sh3YQub2h7a0ZOhRYhxV5uORb7QrVc/cM7IcdXpIiIiNIJE6gEUfeAKsgyoDfgVuYluXO1CCn2hEC1LbSaZjAcQ8eQ+zw3EBERpSYmUAmiLiK3mF3wjY/z/X6Yc8u1CSoOagprlLHP0o0DLCQnIqI0xAQqQdQHCeuMoUOES32p30RTbXH5GmU8aHJjb1u3htEQERHFBxOoBFEfJOzXDSjjdOhCrmYvX42q8Y7kAQE0th3UOCIiIqLYYwKVIH2joQTK4+tQxsEu5DkaRBQnBXOxyBfqQN45uFvDYIiIiOKDCVQCSCnDaqBGXKommnpbWnQhV+h0qDYXKVMhmjGg2r4kIiJKB0ygEmDY7YMvEHyc327So3e0XXmvxJyrVVhxU1OwWBlLSxcLyYmIKO0wgUqAQWdoBSbfbkKXK1RYXWot1iKkuKqe9TFlPGgexd62vvNcTURElHqYQCWA+iDhfJsJXW5VEbnqAN50kVe+GmW+YKMGvwAa2w5pHBEREVFsMYFKgEFn6HiTXJsBXb5RZV6aW6lFSPFVvBiLPT5lerqfheRERJRemEAlwIBqCy/LOgYvgk+pZfsDsKdjAmUwodqYp0wD/v0YHfOd5wYiIqLUwgQqAQZUK1Bms0MZl/p9QFapFiHFXW3+AmUsLB1o7mAhORERpQ8mUAmgLiLXm0KJRLALeZkWIcXd4hkrlfGw2YH9bYMaRkNERBRbTKASQL2FJ/WhRCLYhTw9V6CKKy5Doc8PAPDoJD5qO6xxRERERLHDBCoB1Ft4fqlqYRAQgCVvqltSnpixBNWeUOJ4tHefhtEQERHFFhOoBFB34g47xsVgT68u5GomOxbrs5Spx7MXHtURL0RERKmMCVQCqFegHJ7QClSJpUCLcBKmJneuMtaZWnGky3Geq4mIiFIHE6gEUBeRD3j7lXGprUSLcBKmesYlynjEMoQDbUMaRkNERBQ7TKASIFRELtHrUz2Fl12hTUAJMqt8DbL9wW07tz6AHa3HNY6IiIgoNphAxZnb64fbG0wiTEYPXDLYUNIaCCAne5aWocWdmLkMNapC8gM9LCQnIqL0wAQqztQtDHKyVEe4+PwQOel3Dl4Yaz4WwaxMnc498AekhgERERHFBhOoOBsYDRWQ2+2qBCqNe0CpVWeHjqrRm07jVN/oea4mIiJKDUyg4ky9AmWxjCjjYn/6diFXqylZoYydln4caOeRLkRElPqYQMWZOoEymkKrL0U+f9qeg6c2u3INrIFgDdiowY8dLSc1joiIiCh6TKDiTN0DyqAfUMZFUgDWfC1CSih92XIsVhWS7+3ar2E0REREscEEKs4GVV3IdehTxoWm7PTtQq6WPQOLAwZlOjCyC1KykJyIiFIbE6g4U69A+aRqBSrNu5ArhECNvVyZGgwncKbfpWFARERE0WMCFWfqLuQuGerEXWQt1iIcTdSULFXGbksf9rUNahgNERFR9JhAxZm6iHw4oCoiz0r/J/DOmlu5DubxQvIRoxc7Ws5oHBEREVF0mEDFmbKFJ7xwIjg2SImcrDRvoqlimLkCCz2hrcxdHU0aRkNERBQ9JlBxdnYFShgcymuFfj90WZmzhYfcCiz2hwrm+0d2IcCO5ERElMKYQMXZwPhTeEIfaqJZ5PcD9hKtQko8IVBjD537ZzIex+l+p4YBERERRYcJVBz5/AEMu4OHB+uMoRWoIn8AsGfQChSAmuI6Zeyx9GJfKwvJiYgodTGBiqMhV6jux2YNrbgEV6AyK4FaULEOhvH+T8NGD3a2tGkcERER0fQxgYojdQ8oiyX0BF6hzw9kUg0UAOOsS7BAXUjeyY7kRESUuphAxZG6B5TFFDpEt1AKwJyjRUjaya9CjS80ZSE5ERGlMiZQcaRegTKqz8EzZmXGMS5qQqDaPkOZmo3HcaJ39Dw3EBERJS8mUHE0oDoHTwpVF3JTrhbhaK6mMFRI7rX0oIkdyYmIKEUxgYojdRdyj1A9hWct0iIczS2sWAv9eCH5kGkMO890aBwRERHR9DCBiqPQFp7EKDLzGBc1c/lKzFMVku/uOKBhNERERNPHBCqOlCJy3Rh8CJ4FZw0EYMsq1TAqDeXPwWJfqHC8z7EbfhaSExFRCmICFUdTHeOSiT2gFDodaq2hQnKr6RiO94yc5wYiIqLkxAQqjs5u4ekmJVAZdIzLBDVFtcrYZ+nGvtah81xNRESUnJhAxdHZLTyhn3iMS2YWkQPAwvI10CmF5G7sPtOpcURERESRYwIVR/2jwRUo9RZeod8PZGXuCpStfBXmeIO/FymAXZ0HNY6IiIgockyg4kRKGVqBMoTqfDK6BgoACueh2htQpn2OPfD5A+e5gYiIKPkwgYqTkTEffONPmJlMqi08nx+wFWoVlvZ0etRYQ08h2s1HcbSbheRERJRamEDFyaDqGBerSdWF3GAD9EYtQkoa1QXVythv6UITC8mJiCjFMIGKE3UXcr0hdJBwkSlPi3CSyuLyNcp4yOTC7tZuDaMhIiKKHBOoOFEfJOzXhbaoCm2Z+wTeWVnlq1A13pE8IICd7c0aR0RERBQZJlBxonQhRwBjwqW8XmDL3CfwFEULsdjrV6a9o7vhVs2JiIiSHROoOBkYPdsDahRSBIvJc/1+mDL1GBc1vQFLLKEnEXMsR3GgnXVQRESUOphAxUm/c3IPqEzvQq5WqyokD1g6sbtlUMNoiIiIIsMEKk6m7gGV2V3I1aorPw4x3pF80OTCzpYujSMiIiK6eEyg4mRgihWowkxvoqlir/gY5qo6ku/u3K9xRERERBePCVScnF2B0ukndCHP4GNcwhTOR41PKlOfrwk9jjENAyIiIrp4TKDiZEDZwptYA8UtPACATodaW5kyzbEdw54zrIMiIqLUwAQqTgamOEiYReThlhQtVcZeSzf2nBnQMBoiIqKLxwQqTs5u4RkMocfzC6UBMNm1CinpLJp9OQxKIfkYdp7p0DgiIiKii8MEKg7GfH6MeoKNIQ3qY1zMeYAQWoWVdCwVl2K+J9Sx/UDPfgQC8jx3EBERJQcmUHGgPkgYhlFlWGQt1CCaJJYzCzWB0F9Bu+EAjveMnOcGIiKi5MAEKg6Ug4SFD3598MkyvZTI4zEu4YRArb1CmWZZTmA3C8mJiCgFMIGKA6WAXNXCoMDvhy6LPaAmWlJar4zd1l4+iUdERCmBCVQcDE7ZwiDAJ/CmsGD2ehjHC8mHjF7sPNOqcUREREQXFlUCJYTIE0K8LIQ4JIRoFkJ8LFaBpTJ2Ib94xvKVWOTxKPOW4YNwjRfgExERJatoV6B+DOAtKeViAMsANEcfUuo7WwOlm9gDil3IJ7MXohZmZVpk2Y+mtqHz3EBERKS9aSdQQohcAB8H8P8AQErpkVKygAXAwCi7kEeiNrtKGVusp7G7hQ01iYgouUWzAjUHQA+A54QQu4UQ/yGEYJdIqLfwJpyDxy28KdXOaFDGTnM/C8mJiCjpRZNAGQCsAPAzKWU9gFEAD0+8SAhxrxCiUQjR2NPTE8XXpQ6liFyvroFiEfm5zK1aD2sgAAAYNvqxq61F44iIiIjOL5oEqhVAq5Ry+/j8ZQQTqjBSymeklA1Syobi4sxYgZm6BioA2Aq0CimpGWauwGJVR3KHtxldw24NIyIiIjq/aSdQUspOAGeEEIvGX7oSwMGYRJXiznYiDzvGxZgN6PRahZTczFmo1Wcp01LrQexu4TYeERElr2ifwrsfwC+FEPsALAfwb9GHlPqCK1ASUNdAWVlAfj61OXOVsdHSwjooIiJKaoZobpZS7gHQcMELM0ggIDHk8gI6D6TOBwCwBAKw8wm886qduRo4fhgA4LAMYefpfo0jIiIiOjd2Io8xh9uHgJxcQC7spRpGlfxmz7kCWeOF5COGAPZ1noLHF9A4KiIioqkxgYqxQdc5mmiyhcF56UrrUKMqJLcaD+NAOxtqEhFRcmICFWNTHePCJpoXwWBCrTFfmRZZD2LnaTbUJCKi5MQEKsamOki4kMe4XJSl+YuUsbC2MoEiIqKkxQQqxoZck7uQB5tocgvvQuoqLlfG/ZYR7DjdCymlhhERERFNjQlUjCnn4OlHldcKWQN1UUrnXYlSX/DJRY8OGPCcxpl+l8ZRERERTcYEKsYGXZNroAqYQF2cvNlY6hPKtMzahJ0tbGdARETJhwlUjJ3tQq7TcwsvYkJgqb1cmWbbjqDxFOugiIgo+TCBirGzReR69QqU3gyYbFqFlFLqZlyijMcsPSwkJyKipMQEKsbObuHBoKqBMuef42qaqGbuJ6EfLxzvNXlwuKcHw27vBe4iIiJKLCZQMTbg9ALCA+iC/+gbpUQWt+8umrViNRaON9SUQiDbfIQHCxMRUdJhAhVjQ07PhBYGfh7jEgmjFXWGHGVaZmviNh4RESUdJlAxNujyQqgKyAvYhTxiS/NCDTUN1tM8WJiIiJIOE6gY8gckhlzesBWoAj6BF7G6yrXKeMDiwO6WAfj8PFiYiIiSBxOoGHK4vZAS0E3YwmMCFZmqedchezxhchgkxmQ3DnU6LnAXERFR4jCBiiHlIGH9xBUobuFFQpdXiTp/aF5u3cM6KCIiSipMoGIodJDwxBUoJlAREQJLbTOVaZ7tEBMoIiJKKkygYkg5xmViEbmNCVSk6krqlfGYtZsJFBERJRUmUDE09QoUi8ino27uJ5Vxl3kMbUMOdAzxYGEiIkoOTKBiSDkHT51ABfyArUCrkFJW/uy1qPT6AAA+IZBnPspVKCIiShpMoGIodJBw6ImxQmM2oDdqFVLqMphRp89SpuW2vdhxkv2giIgoOTCBiqHgFp4f0Ae3moSUyLMWahtUCluau0AZG22nsJ0JFBERJQkmUDEU7ELuBERwnhcIwGBj/dN0LS2/TBkPWYZwuMuh1JkRERFpiQlUDA04J3YhZwuDaCxaeCNMAQkA6DFK6HVD+IirUERElASYQMXQxIOE2UQzOsa82ahWNdSstO5iAkVEREmBCVQMTTxImMe4RK/OWqqMC2yHWAdFRERJgQlUDA2MTrECxSaaUVmuaqjpsXbgQPsQht1eDSMiIiJiAhUz/oDEsNs3xQoUE6ho1M+/QRm3W8YQkD72gyIiIs0xgYqRYdfkJpoFASZQ0SqZvQ6zfAEAwJhOYJZ1P7af4DYeERFpiwlUjAzwGJf40OlRb8xTpmW23dh+sk/DgIiIiJhAxcw5DxJmAhW1+sI6ZayznUFT6xCcHp+GERERUaZjAhUj5zxI2JqvVUhpo151sHCHZRS+QAC7Tg9qGBEREWU6JlAxEjwHT0KnXoEy5QE6vXZBpYl5869DdiBYBzVoECg1Huc2HhERaYoJVIwMOr2AbgzQBTs/WgMB2FhAHhM6owXLdXZlXmlvZD8oIiLSFBOoGBl0eibUP7GAPJZW5C1SxibbCew5Mwi313+eO4iIiOKHCVSMDLq8YS0MCv1+wFaoYUTppX72Fcq4zzoEjy+APWdYB0VERNpgAhUjg1MeJMwVqFipXXQLDDJ4sHCbSaBA38Fz8YiISDNMoGJkYMIWXmGAW3ixZLHmoxYmZT7Ptp2F5EREpBkmUDEy5JpqBYpbeLFUnz1HGdttR7Hz9AA8413KiYiIEokJVIxM3MIr5BZezNWXr1XGDmsf3N4AmtqGNIyIiIgyFROoGJm0hecPADa2MYil5Ys/rYxPWCSyxSA+ON6rYURERJSpmEDFgM8fgMPtYxF5nBXkVqIqEPwr6xMCi2wf4b1jTKCIiCjxmEDFwND4OXg6/cQtPK5AxVq9vVwZ59sOYtfpQZ6LR0RECccEKgaUg4TVK1ABAVjytAopbdWXrVLGLmsXPP4Adpwa0DAiIiLKREygYmDQ6QWED0LvBgDopUSuJR/Q8dcbaysW3qqMT1r8sMKJbdzGIyKiBOO/8DEQPMZlVJnn+wPQsf4pLipL6lAgBQBgWK9DtWUX/nqUCRQRESUWE6gYCLYwcCjzAtY/xY0QAvXmUHJaatuH5o5h9I6MaRgVERFlGiZQMTDo8oatQBUGmEDFU33JcmXss7UBAN4/zq7kRESUOEygYmDQ6ZmwAsVjXOLpkgW3KOMTVg9scOG9oz0aRkRERJmGCVQMDDq90KlXoPx+NtGMo8XlH0NW8FxhdBv0WGregfeO9kKOHzZMREQUb0ygYmBg0goUt/DiyaAz4BJLqTIvte9B+5Abp/qcGkZFRESZhAlUDAQPElavQAWYQMXZyrLVythtawcAdiUnIqKEYQIVA4NOb9g5eDzGJf5WLwqdi3fY6kcBBlkHRURECcMEKgaCW3gTjnFhDVRcLSxdjlwZ/OvbZ9BjuWU73j/eB3+AdVBERBR/TKBiYGjCChS38OJPJ3RosM1S5gX2fXC4fWhqG9IwKiIiyhRMoKLk9QfgGPOE1UAVSB1gydUwqsywsnyNMh6xdQGQ3MYjIqKEYAIVpSGXF9C7IEQAAJDtD8BkLwKE0Diy9Keug9pvFagQXSwkJyKihGACFaVgDyhVATm7kCfMvIJFKIAeADCk12Op5UPsOj0Ip8encWRERJTumEBFaZAF5JoRQmBlVpUyz7EfgMcfwPYT/doFRUREGYEJVJQmtzDgMS6JtKpyvTIesPVBIIAth7o0jIiIiDIBE6goDbq8k1eguIWXMKsW3qSM91kMqBYn8U5zN491ISKiuGICFaWJW3gFbGGQULNzqlAijAAAh16HGut2tA+5cbBjWOPIiIgonTGBitKUXchZA5UwQgiszF2gzK32IwCALc3dWoVEREQZgAlUlAZdUxSRswYqoVZVXa2Mu21DMMODzc2sgyIiovhhAhWlAacXOsPELuRMoBJp1dxrlfEeixH1usPY1zqErmG3hlEREVE6YwIVpcnHuPgBe6GGEWWe8uxyzNRZAABOnQ7zbTsAAO8c4jYeERHFBxOoKPU7x7iFlwRWFtQoY5PtGABg80Fu4xERUXwwgYrSoGsEQucFAJgDAdh1JsCUpXFUmUe9jddic6IIQ3jvWC9cHr+GURERUbpiAhWlwbFQ1+tCfwDCXsxz8DSwuvIKZbzLYsYa/U6M+QLYxrPxiIgoDphARcHt9WNMDilz1j9pp9ReioWmfACAVwjMymoEAHYlJyKiuGACFYVB51RdyFn/pJV1sz6ujB1ZbTDAh83N3QgE2JWciIhiiwlUFAacnvAn8AIBNtHU0NqFNyvj7TYj6sUR9DjG0NQ2dJ67iIiIIscEKgoDox4Ig0OZF/AcPE0tK1mObGEAAHQYDFhu3Q4A2MKmmkREFGNMoKIw4PRCGEaVOQ8S1pZRZ8Sl+dWhuf0QAOBtHutCREQxxgQqCsEtvNAKVLALeYmGEdG6BaFtvMP2McxEL5o7htE64NQwKiIiSjdMoKIQ3MJjEXkyWTuhncFaY/BpvN/u7dAqJCIiSkNMoKIw+Rw8P5DFBEpLxbZiVJuDfwY+ITDDHkygXtvdCin5NB4REcUGE6goTHoKj1t4SWFtxeXKeMDeDTM8ONI1goMdwxpGRURE6YQJVBT6nCMQ+jEAgEFK5AQCLCJPAusW3KSM37eZsFp3EADw2q42rUIiIqI0wwQqCr3OPmVc4PdDWHIBg1nDiAgA6orqkC2MAIBugwF1lg8BAL/Z2w6fP6BlaERElCaYQEVh4jl4LCBPDgadAWsK65S5PvsYAIkexxjeP9537huJiIguEhOoKDi8A8o4+AQe65+SxVrVNl6T1Yd5oh0A8NpubuMREVH0mEBNk9cfgHviQcJ8Ai9prFEVku+2mHGZIfg03lv7OzE65tMqLCIiShNMoKZp8hN47AGVTIqsRaixlgIA/EKgPHcvAMDl9eNPBzu1DI2IiNIAE6hpGnR6JzTRZAuDZLOu8ipl3GrpQR6CXeNf292uVUhERJQmmEBNU/9UXci5hZdU1s69Vhn/1WrBVfrgNt57R3vQPezWKiwiIkoDTKCmaXDCOXgF3MJLOnVFdSjUWwEAfQY9VhR8BAAISOCNvVyFIiKi6WMCNU0D3MJLenqdHldVhM7GO2ZqRQ5GAfBpPCIiig4TqGnqH/XwHLwUcO2iv1HGW+wWXG3cCQA40D6MvWcGtQqLiIhSHBOoaeobdULoXQAAnZTIC7CRZjKqL6lH8fg2Xr9ej5VFO5T3nvnLCa3CIiKiFMcEapq6RnuVcb4/AL3BCpiyNIyIpqLX6XG1ahvvkP40suAEAPxhfwda+pxahUZERCmMCdQ09blCR4Io23dCaBgRncsnF9+mjLfYzLhv5lEAwWLy/3iPq1BERBQ5JlDT1D+mSqACfAIvmS0vWY4SvQ0AMKjXY0HWe8p7v2o8g/5Rj1ahERFRimICNU0OT6gAmU/gJTed0OGaytA23geuI7ikzAgAcHsD+O8PTmkTGBERpayoEyghhF4IsVsI8btYBJQqRn3qBMoP2Is0jIYu5JOL/04Zb7Ga8I15J5X58++fgsvj1yIsIiJKUbFYgfp7AM0x+JyU4fMHMIaJBwlzBSqZLStehrLxbbwhvR6+4T9gVl7w6bwBpxcv7zyjZXhERJRiokqghBDlADYA+I/YhJMahlzeCQcJcwsv2Qkhwrbx/jR4APddNkOZP/vXk/AHpBahERFRCop2BeoJAP8MIBCDWFLG5C7k3MJLBZ+s/qwy3mIx4VM5B5BnC9ZCtfQ78db+Tq1CIyKiFDPtBEoIcQOAbinlzgtcd68QolEI0djT0zPdr0sqU56Dxy28pLekqA6z9HYAgEOvw65DL+Hzl85W3n/6z8chJVehiIjowqJZgVoD4CYhxCkALwG4QgjxwsSLpJTPSCkbpJQNxcXp8ah//6iH5+ClICEErlE11fzjQBPuWlkCkyH4n0FT2xBe3cUz8oiI6MKmnUBJKf9FSlkupawC8BkA70gp74hZZEmsf9QNoQ91sM73sw9Uqvhk7e3K+B2LEbYTb+CLa+Yor/3gD80Ycnm1CI2IiFII+0BNQ5ujF0IEt3ry/H4YhR6w5mscFV2MmsIazDbmAABGdDr8Yd9/4v4r5qMs1wIA6B3x4PG3j2gZIhERpYCYJFBSynellDfE4rNSQddoqJar8Ozqk465aCoQQuBvF4eKyV/ydsLmOIVHNtQor/33B6dwoH1oiruJiIiC+K/+NPQ41efgBbh9l2Juqf08LAieW3jIbMLe7U/i+roZWDs/+CRlQAKP/uYAAmxrQERE58AEahoGxvqVsXKQMKWMXHMuriu6RJlvat0CEfBj4021MOqDiVXj6QG8upsF5URENDUmUNMw7BlQxsEtPD6Bl2o+s/JBZfxHs0DfodcxvyQL96ybq7z+gzdZUE5ERFNjAjUNoz51AhVgE80UVFOyFEuNwcJ/rxB4bc/PAQD3XzEfQjK7yAAAIABJREFUM8cLyvtGPXjsj4c1i5GIiJIXE6hpcAV4Dl46+ExNqOvGr9yt8Ds6YTMZ8K0bQgXlv/jwNN451KVFeERElMSYQEUoEJDwYliZF7IHVMq6pu4u5MvgfwIdBgP+8sFjAIBrl8zAVdWhpPiffrUXnUNuTWIkIqLkxAQqQsNuL4RBfYwLu5CnKrPejFtLGpT5pjNvA1JCCIH/8zfLUJpjBhA8+/DvX9rNw4aJiEjBBCpCA04vhH7CQcJ8Ci9l/e3qf4YYP/9umyGA00d+DwAosJvw48/UQxd8KA/bT/bjyS1HtQqTiIiSDBOoCPWNuiEMo8q8IMAtvFRWXrgIHzcWKvNNu59SxpfOLcQDVy5Q5v/+zlF8cLwPRERETKAi1DbUByECAIBsfwBmCSZQKe7vVMXkr7taMDrSqczvv2IBLp1bACDYYPPvX9qNvpGxhMdIRETJhQlUhNocE45xseYDeqOGEVG01iz7IioCwb06h06H57c+pLyn1wn8+DP1KLCbAADdjjH806/3sks5EVGGYwIVoc6RUALF7bv0oNPpcW/5Ncr8v/p2one4VZmX5ljwf29bpszfPdyDZ/96IqExEhFRcmECFaEe18Rz8PgEXjq48fLvYoEvuKrkEgJPv/tQ2PvrF5Xgvo+HupT/nz8exs7TAyAioszEBCpC/W51AsUn8NKF3mTDg7M3KPOX+/fh1MDxsGu+8clFqK/MAwD4AxIPvLgbg05PQuMkIqLkwAQqQsNjE8/BYwKVLtaufQSrxnwAAL8Anvzzw2HvG/U6/Ptn65FrDda8tQ268I1f74OUrIciIso0TKAi5PDxIOF0JSzZ+Meqm5T520OHsLdrT9g15fk2/H9/s1SZb27uwnPbTiUqRCIiShJMoCLkDgwqYx4knH5q1z2Ma52hNgU/eu9bk1aYrqmdgbvXVCnzH/yhGXvPDIKIiDIHE6gIeRD6h7LYx4OE0441Hw9U3QDDeNK0a+QU3j2zddJlD1+3GHWzcgEAXr/EN369Fx5fIKGhEhGRdphARUBKiYAudJBwMbfw0lLF2odw24hLmT/x4b/BF/CFXWM26PHU51bAbtIDAI52j+A/t51MaJxERKQdJlARGHS5gYnn4HELL/1kl+K+2dfDHgiuKJ1wdeFne3826bLKQhsevHqhMv/x5qNoHXAmLEwiItIOE6gInBrohhDBrZ0Cvx9GgFt4aapg7Tdw36BDmT+771ls79g+6bq7LqvC4hnZAACX14/v/vZgwmIkIiLtMIGKwOnB0BlpRT4/YLQDJruGEVHc5M/GnVU3YLXLDQCQkHj4Lw+hzxV+mLBRr8P3b1mizP90sAtbmrsSGioRESUeE6gItDg6lHExt+/Snv6qR/GDYQ8K/H4AQK+7D/+67V8RkOHF4g1VBbitoVyZP/rGAbg8/oTGSkREicUEKgJdI93KuNjPJ/DSXnYpiq/8Dv5XT2jVaVvbNjx/4PlJlz58XTXybMEGm60DLvxk69GEhUlERInHBCoC3c5eZcwn8DJE/Z1YW7wCdw+Gnr58cteT2NezL+yyArsJD1+7WJk/85cTONY9AiIiSk9MoCLQP6ZKoHzcwssIOh1w4xO4f2gUS93BBps+6cM//+WfMegOb555W0MFVoyflef1S/zvtw4lPFwiIkoMJlARGPKEtnK4hZdBihfBuO4f8b97epHtD9Y/tY204b7N98HhCT2pp9MJfE9VUP72wS4c6XJM+jgiIkp9TKAiMOrrV8bcwsswa/8R5blz8d3ePojxLuUH+w7ia5u/Bqc31PupdmYurqouVeZP//l4wkMlIqL4YwIVAbdUHePCp/Ayi9EC3PgErnK68K2+UCK9p2cP7n/nfrh9buW1r62fp4zf2NPO5ppERGmICdRF8gf88CFUSFzk8wPZMzSMiBKuai1Q/3n8rWMUD6uSqI86P8I/vPsP8Pg9AIAVlfm4dG4B8P+3d99xUlV3H8c/Z+r2XlmWJl1AVBRr1BhrjD12RSOamMTEFJM8yZNeTEz1SUxi77HXqBGxxiihKALSi8ACu8vC9jb1PH/MOFtou7A7s7vzfb9e8+Lec++d/a3DLj9P+R0gGLbc9e8NCQlXRET6jxKoHqrz1YGJzH/JCYXwgBKoZHT6LVAylcsbm7mpti7W/O7Wd7n57ZsJhAMAfPnEsbFrjy2sYEezL+6hiohI/1EC1UNVzR3VpQuihRXJUAKVdLyZcNmTkFXGtQ1NfKmuIXbpjYo3+Oab38QX8nH8uAIOHpYFgC8Y5v53NyYoYBER6Q9KoHro47qObVyKgiHwZoMnLYERScJklcLlT4I3iy/XN3B1pxpRb215ixteu4HWYGuXXqgH5m2kqT2QgGBFRKQ/KIHqoU0NHdu4FIQ0/ynpFR8MFz+Ecbj4Zl0919Z39EQtrFrI7DmzOWpcCmMKInslNrUHeWT+5kRFKyIifUwJVA9tbeq2jYsSKBlzIpz9ZwxwU10DX6/tWKX50c6PuHbONVx6TFas7Z7/fEx7QHvkiYgMBUqgeqi6pXsCVZrAaGTAmH4ZnPh9AGY3NPLDHbWYSJko1jes56lt/0NRbgsANU0+nvlga6IiFRGRPqQEqod2tnfbxkU9UPKJE74DJ/0vABc1NfPrmh24osU2t7Vswz38TowrMsT36AIN44mIDAVKoHqo3t9tI2H1QMknjIETboYL7gGnlzNbWrmtugZPNIlqDFaTNvIejLOZZVsbWFnZuI83FBGRgU4JVA+1hDpq/kQSqOK93C1JaeqFMOufkJbPp9ra+WN1TawnyuHZTuqIe8DRxpOLtiQ4UBEROVBKoHogbMP4wh2rrNQDJXs0YibMfg3yx/GptnZ+vX0HjmgS5UypJK38Pp75cD3+YDjBgYqIyIFQAtUDde11YCKrp7JCIbwWzYGSPcsbA7PnwpiTOK21jZ/s6Nj2xZm2GV/+vbyyvCKBAYqIyIFSAtUDO9q6zX8CVSGXvUvNhSuehuO/zXnNXffOc6Wv4/eLf4GN9kyJiMjgowSqB6pbO2/jEsam5oI7JYERyaDgcMLJP4RLHuVyn4OvdaoTVWv+ywNLH09gcCIiciCUQPVARUNHAlUUDGHU+yS9MfFMuP4tZnvLuKCpOdb858W/Yt3O1YmLS0RE9psSqB7Y3NBtI2HNf5Leyj8IM/t1rnAfxli/HwC/sXz7pctpa6vfx8MiIjLQKIHqgcrmTj1QWoEn+8uTTtmsRzmleiwp4cgqvPXWx68fPwN8TQkOTkREekMJVA9sb62JHasHSg5EaoqHikm3cHTNiFjbM6aZlx46FVpr9/KkiIgMJEqgeqDW130bF/VAyf77/BHlvFD7FUY1FsTafuZsZNMj50CgPYGRiYhITymB6oHGwM7YcZF6oOQAHVqew9iiTJZV3ki6PxWAVoeD74erCb/0TVB5AxGRAU8J1D5Ya2nttI2LhvDkQBlj+PzhwyHsZfuW2Tht5MdwaYqXf657Dhbdm+AIRURkX5RA7UO9rx5LpHhmRjhMqrVKoOSAnXXIMADCvjLaa0+Itf8pN4eWV74HFQsSFZqIiPSAEqh9qGnrmEBeGPykCrk2EpYDU5aTymEjcgBorzmRTGceADtcTu7KSoUnroKm6r29hYiIJJASqH2o6bQCrzAUIpSSBy5vAiOSoeKsaZFeKKyXHN95sfYHs7OoaKuBJ2dB0J+g6EREZG+UQO1Dlx4o1YCSPnTm1FKMiRyvWncQk/OmAhAwht/m5cDmeTD3hwmMUERE9kQJ1D5s6zSMUhgM4cjS/CfpGyXZKRwxMjJ0F7YODs+4OnbtzfQ03ktJgfl/13woEZEBSAnUPmxp7LqNi1EPlPShsw7p+Pv0/ppMzj7o7Nj5rfk5BAFe+iaEQ/EPTkRE9kgJ1D5UtmyPHasGlPS106eU4IgO4y3YWMsV428gzZUGwHqPhycyM6BqmUobiIgMMEqg9qFG27hIPyrKTGHm6HwgUj9z/toA1027Lnb9r7nZtBgDb/wcWnbs6W1ERCTOlEDtQ72/owq5tnGR/tB5GO/FpZVcOflKyjLKAGhwOnk8KwPaG+C1HycqRBER6UYJ1F5Ya2kOdGzwqlV40h9OP7gEZ3Qcb9GmOnY2hZk9dXbs+gPZWbQbA4sfhoqFiQpTREQ6UQK1F43+RkIEAEgLh0m3FjJVRFP6Vn6Gl2MOyo+dv7yskrMPOpvitMjftVqnk6cz06MXv6UJ5SIiA4ASqL3oPP+pSFXIpR99dmrXYTyP08M1U66Jtd2XnR1J5SuXwPv3xz0+ERHpSgnUXmxv61iBVxAK4U/JB6c7gRHJUHX6lBJc0WG8Dyvqqaht5fxx55OXEqkTVe1y8kJGtBfq9Z9BW32iQhUREZRA7dWOto5VT4WhEOF0rcCT/pGT5uG4cQWx85eXVZLqSmXWwbNibXfn5UfqQrXXw4I74x+kiIjEKIHai+774DmyNIFc+k/nYbyXl1UCcPGEi8nyZAGwxQmvpEdqRDHvdmhvjHuMIiISoQRqL6o7FdEsDIZw5SiBkv5zyuTi2DDeki0NVNS2ku5O54pJV8TuuSu/gDBEeqEW3p2YQEVERAnU3mxt6joHyqESBtKPctI8HDu2YxjvXx9FeqEum3QZ6e7I/KcNTng9LTVyw7y/gK857nGKiIgSqL2qbunYB0/buEg8dB7Ge2lZFQDZ3mwunnBxrP2u/EIsQOtObfEiIpIgSqD2oqbTKjwV0ZR4OPXgTsN4FfVsqWsF4KrJV5HiTAFgpQvmp3gjD7z3f+BvTUisIiLJTAnUHoTCIer8HZPIS4PqgZL+l5Pm4ZjOw3jRXqj81HzOHXturP2h/KLIQUuN6kKJiCSAEqg9qGmrwUam65IXCpFirXqgJC4+O7UjUX8puhoP4PJJl8eO/+0xbHS5Iifv3gaB9rjFJyIiSqD2qLKl4x+u0mAQi4H0wgRGJMni1Mkde+N9WFHP1vo2AEZlj+KE4SfE7nukIFoVv7kKFj8U9zhFRJKZEqg92Na8LXZcGgzR7s0HpyuBEUmyyE33dNkb71+deqGumNxR0uD5NC8N0USL//wRgr64xSgikuyUQO1B9x6oYJr2wJP46boar+Pv4sySmYzLHQdAmw3yTH50uK9xKyx7Kq4xiogkMyVQe1DZ3DmBCmEzNIFc4ufUgzuG8RZvrmdbdBjPGMOVk66M3fePnJzI9i4QqU5ubZwjFRFJTkqg9qBzD9SwYBBnzrAERiPJJq/bMN7LnXqhzhxzZmyT4apgC69l5UYubF8OG96KZ5giIklLCdQedE6gSoJBvLlKoCS+zuw0jPevj6pix16nl4smXBQ7f7i4vOOhebfHJTYRkWSnBGo3rLVsa+7cAxXCpY2EJc5O6zSM9/6mOiob2mLXLp5wMW6HG4AlwXqWeqOFNdfNhe2r4h6riEiyUQK1G02BJlqDLQCkhMPkhMOqASVxl5fu4egxHcN4Ly7pSOoLUgs4Y/QZsfOHh4/vePC/f41LfCIiyUwJ1G50n0BuQFXIJSHOnt4xdPzs4q1drl05uWMy+avhJqqczsjJksegZUdc4hMRSVZKoHajewkDAHJGJCgaSWanTynB64r8mK6obGR1VVPs2sS8iRxRcgQAIcI8Nmxs5ELIBwvviXusIiLJRAnUbnQvoulzpEJqbgIjkmSVleLmM5M7apA992HXXqgrJnUU1nzSa2kz0cKaC+/S9i4iIv1ICdRuVLV0rHgqDQVpSimFT/5hEomzc6eXxY6fX7yVcLij1tMJw09geMZwABpD7fyzIHpvSw0sezKucYqIJBMlULuxraWjB2pYMIgvfXgCo5Fkd8L4QnLSIivutjW0s3Bjbeya0+HsssnwI7l5xNIrFdYUEek3SqB2o2sNqBChrPK93C3SvzwuB2dN61gF2n0Y79yx55LuTgdgQ6CeeRk5kQs1K2H9G3GLU0QkmSiB2o3K5q5VyN35oxIXjAhw3qEdw3gvLq2kPRCKnWd4Mjhv7Hmx84fKDup4UCUNRET6hRKobvwhPzVtNQA4rKUoGCK9eEyCo5Jkd9iIXMrzUgFoag/y1urtXa5fNvEyTKTgBv/x17DBHRnyY91rKqwpItIPlEB1U91SHTsuDIVwA5klSqAksYwxnNdpMnn3mlDlWeWcWH5i7PwfI6Z0XFQvlIhIn1MC1U3XGlCRYRKTMzJR4YjEnNNpGO/NVTU0tAa6XO9cWPMFmmhwRH+8VVhTRKTPKYHqpvMKvNJgkHaTAml5CYxIJOKgwgymDc8GwB8K8/JHlV2uzyiewYTcCQC0hf08PWxc5ELIB4vujWusIiJDnRKobrpXIa/zqAaUDBzn7mUYzxjDFZM7Cms+muYm+MnJgrsg6ItDhCIiyUEJVDddV+CFaE0dtpe7ReLrc4cMw+mIJPQLPq6lora1y/UzRp9BXkqkx7Qq0Mjc/E8Ka26HZU/FNVYRkaFMCVQ33XuggqoBJQNIYaaX48cVxM4fnr+py3Wv08vFEy6Ond9TUKjCmiIi/UAJVDfdJ5E78jSBXAaWK2Z2/J18YmFFl5pQAJdOvJRUV6TkwWp/Le9kRuZNsX05fPx23OIUERnKlEB1Yq3tMoRXGgySWjAqcQGJ7MZJE4sYnhtJkOpaA/xzybYu13NTcrlg3AWx83tKOv1PwLzb4xKjiMhQt98JlDGm3BjzpjFmhTFmuTHm630ZWCLsbN+JP+wHIDMUJsNackoP2sdTIvHldBiuOKojKXpg3kZst6G5WQfPwuVwAfBBsJ73vd7IhbWvQs2aeIUqIjJkHUgPVBD4lrV2MnAU8BVjzOS+CSsxqlqqYselwcj6JVUhl4Ho4hnleF2RH9+PtjayuKK+y/WS9BI+N+ZzsfO7O2/v8t5tcYlRRGQo2+8Eylpbaa39IHrcBKwEyvb+1MDWZf5TKEQbXkx6wV6eEEmM3HQPZx/SsUL0wfc27nLPNVOu6djexTazyhPd3mXJY1BfEY8wRUSGrD6ZA2WMGQUcCszvi/dLlG3NXYto7nSVqAaUDFizjhkVO355WRU1TV3rPI3OHs0pI0+Jnd9dGu1NDQfhvf+LR4giIkPWASdQxpgM4GngJmtt426uX2+MWWSMWVRTU3OgX65fdR/Ca0opTWA0Ins3pSybw0bkAJHK5I8v3LzLPbOnzo4dz3W0s8kVmRfFBw9CU/Uu94uISM8cUAJljHETSZ4esdY+s7t7rLV3WmtnWGtnFBYWHsiX63ede6CGBUP4MoYnMBqRfbvq6FGx44f/u5lgKNzl+qT8SRw77FgAwljuKx0duRBsh3l/iVeYIiJDzoGswjPAPcBKa+0f+i6kxOk8B6okGIScEQmMRmTfzphaQkGGB4Cqxnbmrti1V+naqdfGjp93B6lyOiMni+6F1tq4xCkiMtQcSA/UscCVwKeNMR9GX2f2UVwJ0TmBGhYM4VENKBngvC4nlx7Zkeg/OG/TLvfMKJ7B9MLpAARtiLtKoyUQ/M0w/464xCkiMtQcyCq8/1hrjbV2mrV2evT1cl8GF0+tgVbqfZGl4C5rKQiFyFQJAxkELps5IrY/3rwNO1m8ua7LdWMM10+7Pnb+lDvEend0LtT8v0H7LlMXRURkH1SJPKrzBPKSYBAHkDd8XOICEumh0uxUPju1Y8HDb+es3uWe48qOY2bpTCAyF+r3xdGKI+0NsOieuMQpIjKUKIGK6r4HXhte0nOKExiRSM9945TxsV6o99bv5N11O7pcN8bw7RnfjtWFesdtmZcSrU4+73bwt8Y1XhGRwU4JVNS2lq41oLY7ilQDSgaN0QXpXDSjY9XorXNW77K9y8S8iZx90Nmx898XFhECaKmB9++PT6AiIkOEEqiorpsIh2jwlCQwGpHe+9rJ4/BEt3dZUlHPnOW7rsi78dAbSXVFNiJe7TK8kJEeufDvW6Gtbpf7RURk95RARXVdgRekNX1Q70ojSag0O5WrOm0y/PtXVxMKd+2FKk4vZtbBs2Lnf87Pp9WYSPL09m/jFquIyGCnBCqqaw2oEKGs8gRGI7J/vnzSWNI9kTpPa7c38+zirbvcc83B11CQGtnjscYBD2RnRi4suAN2rItbrCIig5kSqKjOQ3jDgkGceaMSF4zIfspL9zD7+I7yG3+cuwZfMNTlnjR3GjceemPs/L6cXGqcjsgeeXN/GLdYRUQGMyVQgD/kp6o1UsbAWEtJKERa0egERyWyf2YfP5rcNDcAW+vbeGxBxS73nHPQOYzLjZTpaDOW3+TlYgFWvwwb3opfsCIig5QSKGBz42bCNrKH2LBgiBRrySkdm+CoRPZPZoqbr5zU8ff3/15fS22Lv8s9ToeTb8/4dux8TkY6L6anRU9+AOGuvVYiItKVEihgY+PG2PGoQIA266GoRJPIZfC64qiRDMtOAWBni5//fW7ZLmUNjhl2DBeMuyB2/quCPLa6nFD9ESx+KK7xiogMNkqggI8bPo4djw4EqDRFpHhcCYxI5MCkuJ388rypsfOXl1XxwpJtu9z3nSO+Q3lmZMFEs8PB9wvzI7Wh3viFtngREdkLJVB0T6CC1LpVgVwGv5MmFnHpkR2rSX/0/HKqG9u73JPmTuOW42/BaSIr9z5ISeH+7MxIcc23fxPXeEVEBhMlUHQdwhsdCNCUquE7GRp+8NnJDM+NFM5saAvw3aeX7jKUd0jhIV02G/5Lbg4rPO7IFi8fvxPXeEVEBoukT6CstbsM4QUzhu/lCZHBI8Pr4nefPyR2/tbqGh5fuOuqvOumXce0gmkABI3hfwoLaDfAs19UhXIRkd1I+gRqR9sOmgPNAGSEw+SHwpA7IsFRifSdo8bk84VjO8py/PzFFVTUdt082O1w86vjfxXb5mWDx80v8nOxjVvhnzdBt14rEZFkl/QJVJfhO38AA3gLRiUqHJF+8Z3TJzCmMLLvXYs/xNcfW0x7oGupgpFZI/nuEd+NnT+fmcGfcrNhxXOw5NG4xisiMtAlfQLVffgOIKtkzJ5uFxmUUtxO/nDRdJwOA8AHm+v51pNLCHfbK+/8cedz7thzY+f35mTzQFYmvHwz1G6Ia8wiIgOZEqhOCdSoQJBGm0ZhifbBk6FnenkO/3PGxNj5S0srueVfK7vcY4zhx0f/mBPLT4y1/S4/lxc8Fp6+DkKBeIUrIjKgKYFq7NoDtcYOpzgrJYERifSfa48bzdXHjIqd3/XOx9z/7sdd7nE5XPz2U7/lsKLDYm0/Ksjjrdrl8OYv4xWqiMiAlvQJ1MaGjbHj0YEAW10jcDmT/j+LDFHGGH541mROndxR6+ynL65gzvKqLveluFL488l/ZnzueABCxvDtonwWLvorLLgrrjGLiAxESZ0ptAfb2dYcqc7ssJbyQJAdaZr/JEOb02G47ZJDOXREDhBZYPe1Rxfz/qau5QqyPFn8/TN/Z3i0rIfP4eBLxUW88vaPYNlTcY9bRGQgSeoEalPjJmxkD3qGB4N4gNascYkNSiQOUj1O7r5qBiPzIxsI+4JhrrpnPvPW7+xyX2FaIXeecif5KXkA+B2Gm4sKuPv1b2HXzI173CIiA0VSJ1Bd5z8FAQgVTEhUOCJxlZ/h5f5rjiQv3QNEyhvMum8Bc1dUd7mvPKucB894iFEZHYsrbsvN4sdzbyCw8d24xiwiMlAkdwLVZQVegEabRmahVuBJ8hhdkM5j1x9FcZYXAH8wzJcefp9nPtjS5b4RWSN4+KxHOSJarRzg2YxUbnh1Ng1b5sc1ZhGRgSCpE6guE8j9kRV4o6PFBkWSxfjiTJ760jGx4bxQ2PLNJ5bssjov25vNHaffz9nDT4q1zfe6uGzOF1i5TIU2RSS5JHUC1bWIZpA14TLGFmYmMCKRxCjPS+PJLx7NxJKOv/8/+ecKbn1lVZdim26nm198+ja+OvbCWNtml4PL3/8lj8795i4bFYuIDFVJm0BZa7ts4zIqEOBjU05ZdOd6kWRTlJXC49cfzWHR1XkAf31rPTc88j4tvmCszRjDF4/9Mb+d8mXSoslVwBh+tW0u33ridBrbtfmwiAx9SZtAVbdW0xZsAyA7FCI3HKY5a2xsqwuRZJSd5ubh2TM5cUJhrG3O8mo+//d5bKtv63Lv6YffwOOn3MXEcMevkbnt27jo8ZP5aNuCuMUsIpIISZtAdR++M4CjeFLiAhIZINI8Lu6+agZfOHZ0rG1FZSNn/+VdPtjctXdp1PCjefji17nYkRtr20qAK1+9lgf++xvCNhy3uEVE4kkJFJHhuwabRkHJyARGJDJwuJwOfvS5yfz6/Km4or2yO5p9XHLnf3lu8dYu93rTCvjfy9/k9zkzyAhHEqaggd+tfpgbn/ocda07d3l/EZHBLmkTqM7zn0YHAqy1wxlbrAnkIp1dcuQIHrp2JjlpbiBS5uCmxz/cZXI5DiennnMfT0z6ElN8HRsO/7t1Mxc+eTKL1v8r3qGLiPSrpE2gdrsCrygjgRGJDExHH5TP8185tsvPx1/fWs8XH36f5k6TywHKj7qRB895ilkBb6xtOyGufedm/vbqjYTDobjFLSLSn5RAERnCW8twRheoBpTI7ozMT+eZLx/DSZ0ml89dUc2Ff3uPitrWLve6i6fw7avf4/b8Y8kJRRKmsDH8tfItvvbw8TTtXBfX2EVE+kNSJlCtgVaqWyPbVbisZXggSEP6QaS4nQmOTGTgykpxc/esI7ju+I7J5auqmjjn9nd32YgYl4dPnfV3njrud8zoGNHjbdvEZc+dzYZ5f4rsYiwiMkglZQLVef5TeSCIG6BwYqLCERk0nA7DDz47mVsvnIbbGZlcXtvi5/K7/8vrK6t3ub94/JncddnbXJMyIta20eXk0lV38fpDp0L95rjFLiLSl5IygdrtCrxSrcAT6amLZpTz6HVHxTYibg+Eue7BRTy2YNeEyJWWxzcvfonfTvwCqdFOp1aHg5tsFX956NOEF96r3ijtYUwEAAAfeklEQVQRGXSSMoHqvgJvjR3OQZpALtIrM0bl8fQNx1CeF6neH7bwvWeWcdtra3e7pcvpM7/BQ2c8RJkzLdZ2R1Yq31vwC/wPnQcNW3d5RkRkoErKBKr7Cry1WoEnsl9GF6TzzA3HMqUsK9b2x9fW8P1nPyIU3jWJmlA8nccunMPRuQfH2v6Vkc6XWpfT+LejYclj6o0SkUFBCdQnNaC0ibDIfinM9PLY9Udz/LiCWNujCzbz7SeX7DaJyknJ4W9nPcLF4zo2JF6YmsKs/FQqX/gyPH4FtKj4pogMbEmXQIVtmE2Nm2LnowIBqr2jyY4WChSR3svwurhn1hGcO31YrO3ZxVu5+andJ1FOh5MfHP0jbjrspljbOo+HK4YVs3rDHLjjeNj837jELiKyP5IugdrYuBFfyAdAfjBEdtgSLpiQ4KhEBj+Py8EfLprOpUd2rLh75oOtfPfppV2rlkcZY7h26rXccvwtuBwuALa7XMwqLWahfwfcdya8exuEtZ+eiAw8SZdALa1ZGjue6vPRYNPILxmxlydEpKccDsMvz53CJUeUx9qeen8L//PMst0mUQBnjTmLv3/m72S4I/MQWxwObigu5N8pbpj7I3j0EmitjUv8IiI9ldQJ1DSfnzXaA0+kTzkchl+dN5WLZgyPtT2+qIIfPLfnJGpm6UweOOMBilKLAPA5HHy9uJA5aamwdg78/XjY+kFc4hcR6YkkT6B8rA0P56BCrcAT6UsOh+HX50/jwsM7kqhHF1Rw65zVe3xmfO547j/jfsoyygAIGsN3igp4LiMdGrdEhvRWPN/vsYuI9ERSJVCtgVbW1q8FwFjLFJ+ftVYlDET6g8Nh+M0F0zj/sLJY29/fXs+D8zbu8ZnyzHLuP/1+RmWNAiJ76P2wMJ9HMzMg2AZPXAXv/F6lDkQk4ZIqgVq+czlhG5mQOjYQIN1aNjtHUJqdkuDIRIYmp8Nw6wXT+Mykoljbj19YzpzlVXt8piS9hPtPv58JuR2LO35VkMe92dGh9td/Bs9/BYL+fotbRGRfkiqB6jJ81x755RssmIgxJlEhiQx5LqeD/7v0UA4pzwEinUdfe3TxrhsQd5Kfms89p93DtMJpsbY/5uVyR060YOeHj8BD52pyuYgkTNImUIf4fNTbdPKKyvfyhIj0hTSPi3tnzWBUfmQbF18wzOwHFrKhpnmPz2R7s7nrlLs4ouSIWNtfcnP4S042FmDTu3Dv6dC4rZ+jFxHZVdIkUNZalu7oXMLAz/vh8VqBJxIn+Rle7r/myNgGxHWtAWbdt4Cdzb49PpPmTuP2k2/nqNKjYm135GZzW240idqxGu49DWo39HP0IiJdJU0CVdlSyY62HQBkhMOMCQRYEJ6oFXgicTSqIJ17Zs0gxR351VNR28YNj3yAP7jnYpmprlT+cvJfOK7suFjbPTnZ/C4/L5JE1W+O9ERVL+/n6EVEOiRNAtV5+G6Kz4cDWBCeyNii9MQFJZKEDh2Ry58vPYxPph4u+LiWn/5z78mP1+nltpNu48ThJ8baHszK4FcFBYQBmqsjZQ4qFvZb3CIinSVNArWkZknseFq7n1brZZUZw8h8JVAi8XbK5GJuPq1jld0j8zfz0H837eUJ8Dg9/OHEP/CZEZ+JtT2WmcbPiooJAbTXw4PnwIa3+idoEZFOkiaB6jz/6RCfj8XhsQzLz8LtTJr/BCIDyg0nHMTZh3RsPvzTF5bz3vode33G7XRz6wm3csaoM2JtT6d7+d+SYQQBAi3wj4th/Rv9FLWISERSZA/+kJ9VO1fFzqf4/NHhO81/EkkUYwy3XjiNqWXZAATDlq888gEVta17fc7tcHPL8bdw9kFnx9peTHXx3WHDCQAE2+HRS2Hd6/0YvYgku6RIoFbXrsYfjtR9Kg8EyAuHWWA1gVwk0VLcTu686nAKMrxAZGXe7AcW0eIL7vU5p8PJz4/9OReOvzDW9qrXwTfLyvGDkigR6XdJkUB1Hr6b5vPjt04Wh8dy6IjcBEYlIgCl2ancceXheKLD6aurm/jWE0uw+9iuxWEc/OioH3H5pMtjbW95DF8dXk6rMRDyRZOo1/o1fhFJTkmRQHWdQO5jmR2Dz3g5clReAqMSkU8cPjKXX543JXb+yvIqbn9z3T6fM8bw3SO+yzVTrom1zXMbrhs+nHqHI5pEXQZrlUSJSN9KigSqawXyyPynCcWZZKe5ExiViHT2+RnlXH3MqNj57+eu4fWV1ft8zhjDNw77Bl+e/uVY21KX4eqy4VQ7nZEk6rHL1BMlIn1qyCdQO9t2srV5KwDecJjxfj/zwxM5akx+giMTke5+8NlJHB392bQWbnrsQ9Zt3/N2L58wxnDDITfw/ZnfxxApMLXeBVeVlbHR5eroidLqPBHpI0M+gVq2Y1nseJI/gNMaPgiP58jRGr4TGWjcTgd/uexQynJSAWjyBbn+oUU0tgd69PylEy/l18f/GpdxAbDNCbPKSlnhcXfMiVKdKBHpA0M+geo8fDfN52OlHUEj6UqgRAao/Awvd1x5eGy7lw01Ldz02IeEwnufVP6JM8ecyZ9P/jMpzhQAah2Gq4eV8O/UlMjqvH9cAhve7rf4RSQ5JFcC1e6L7n+XHls2LSIDz5SybH5zwbTY+RurtvOrl1f2+Pnjyo7jrlPvIsuTBUCbMdxYXMgjWRkQbIsU2/z4nT6PW0SSx5BOoELhUJchvE8mkM/U/CeRAe+c6WV86YSDYuf3/OdjHpm/9+1eOpteNJ0Hz3iQsowyAMLG8Ov8PG7JyyUUbINHPq/hPBHZb0M6gVpVt4rWYKSqcVEwSHEoxMLwRGZq+E5kUPjOaRM4dXJx7PxHzy/nnbU1PX7+oJyDePjMh5lW0NGb9Y/sTL5eXEhrqB0euQjWzu3TmEUkOQzpBGruxo5fjEe2+9gQLmUH2Zr/JDJIOByGP10ynSllkaG4UNjy5Yc/YG11U4/foyC1gHtOu4dTRp4Sa3s7LZUrS4upMKFIiYNVL/V57CIytA3ZBMpay6ubXo2dn9rSyvzwREbkpVGanZrAyESkN9I8Lu6ZdQQlWZFJ4U2+IF94YCE7m309fo8UVwq/O+F3XDvl2ljbGq+Hi4eV8G+PA564CpY/2+exi8jQNWQTqFW1q6hoqgAgPRzmmLY2FoYnqvdJZBAqzkrh7lkzSHU7AaiobWP2g/veM68zh3Fw0+E38dNjforbESmi2+R08JWSIm7PSif01Bdg6RP9Er+IDD1DNoHq3Pt0YmsbXktkArkSKJFBaUpZNv936aGYSJ1MFm+uZ/YDi2gPhHr1PuePO58HTn+AkvSSWNvfc7P5SlE+Dc99Ceb9tS/DFpEhakgmUNZaXt3Ydfhuq81nK4XMHK0VeCKD1SmTi/nJ5w6Onc/bsJMvPfw+vmDvkqiphVN5/KzHmVk6M9b2bloqFw0r5v23fgKvfB/C4b4KW0SGoCGZQK2uW83mps1AZPju2LY2Xg8dRml2CuV5mv8kMpjNOmYU3zl9Quz8rdU1fO3RxQRDvUt48lLyuOMzdzB76uxY2za3i2tKi7ht9cMEnpwFgfY+i1tEhpYhmUB17n06ITp892ToBI4cnYf5pP9fRAatL584lq99emzsfM7yar715JIeVyv/hNPh5OuHfZ3bTrotVnTTGsPdOdlc3rCADQ99Flpr+zR2ERkahlwCtbvVd6vDw1lmR2v4TmQI+cYp45l93OjY+fMfbuPmJ5fgD/Z+6O3TIz7N02c/zcySjiG9lV4PF5kq/vHQyYS397wKuogkhyGXQK2pW8Omxki14rRwmGPb2nkydAJgtAJPZAgxxvCDz07i8pkjYm3PLN7K1fctoKGtZ5sPd1aSXsKdp97JzTNuxmMiq/18Dge3pAS56rnzWDP/L30Wu4gMfkMugZqzcU7s+ITWNlxhw/OhYynI8HBQYXoCIxORvmaM4efnTOGSI8pjbe+t38kFf3uPitrWXr+fwzi46uCrePRzTzAutSjWvsTr5qKVf+cPj59Fa1tdn8QuIoPbkEqgrLXM3dRRffy0llbeDE+nhhyOGKX5TyJDkcNhuOX8qXzrlPGxtnXbmznvr+/yYUX9fr3n+NzxPHrBy1w/5jxc0WlVIWO4r30T5z12Am+vfLwvQheRQWxIJVBr6tawsXEj0DF891ToUwCcdnDJXp4UkcHMGMONJ4/jtkum43FGfq3taPZzyZ3zeHbxFqzt3eRyAK/Ty43H/4ynz3yEwx0ZsfZtDstXF/yC2U+dyfKaj/rsexCRwWVIJVCdJ4+f0NpGazidN8KHkZfu4YypSqBEhrpzppfx8OyZ5KRFKo23B8J84/El3PDwB+zoxdYvnY0pmsZ9l7/Lz0s/Q06nUgnzWyq45OVLuXnO9VQ0VvRJ/CIyeAyZBGp3xTOfDx1LABefnzEcr8uZwOhEJF6OHJ3HMzccw6j8tFjbK8urOPWP/+blZZX79Z7G4eDcU//ICyfdzoU+g7NTj9YrVfM4+9nP8sv3fkpVS9UBxy8ig8OQSaDW1q+NDd+lhsMc19bOU6ETMAYuP3JkYoMTkbgaU5jBi187nss6rdCrbfHz5Uc+4Kv/+IDtjftXIDN39In8+Jr5PFN6Jie3drxHEMtja5/ijKdO4/v//h5r6tYc8PcgIgPbkEmguhfP/DhUznI7kk+NK2REp/8TFZHkkOF18avzpvLgF46kNDsl1v7i0kqOv/VNfvHiiv0b1nOnMua0W/nThS/yULiIw9o7J1Jh/vnxS1zwwgV86dUvMr9y/n7NvxKRgc/E84d7xowZdtGiRf3y3hvqN/DSs5fzarCOr9XVM6/hQu4NncFdV83glMnF/fI1RWRwaGgL8IsXV/Dk+1u6tKe6ncw6ZhTXf2oMeeme3r+xtdjFD/PO2z/l3lTD+6kpu9wyKnMk540/n8+N+RyFaYX7+y2ISAIYY9631s7Y7bWhkkCxcz38+TAs4LdOjvbdTkp2Ee9899M4HSpfICLw7zU1/HbOapZtbejSnu5xcvb0YVw0o5zp5Tm9L3nS3gAL7mTpor9xf4rhtbRUbLf3cBoHx5Udx3ljz+e44cfhdXoP9NsRkX6WHAnU6z+Dd34PwJzQDL4Y+CbfOmU8N548rn++nogMStZa5q6o5g9z17CqqmmX6+OLM7hoRjnnHVpGfkYvkxxfEyy8m03zb+dBT5AXM9Jpdew6UyLNmcrx5Z/i0+Wf5vjhx5Ppydzfb0dE+lFyJFBVH1H7n3tg2RN8N3A9b3IE733v0xRl7dqlLiISDlteWV7Fn15bw5rq5l2uOx2GI0bl8plJxZwyuZiR+b3YycDfAu/fT+uie5nrq+S5jHQW7WZ4D8BlnMwsmcmxw4/jyJIjGZc7DocZMtNTRQa15EiggB8+9xGP/3cdIRycNrWMv15+eL99LREZGqy1LNpUxxMLK3hxaSVtgdBu7xtfnMFJE4s49qACZozKJc3j6smbQ8UCWPwQm1c9z3MphlfS06hwu/f4SJ47kyNKj+LIYUdxePHhjM4erYRKJEGSIoFq8QWZ+avXafYFAfjH7JkcM7agX76WiAxNzb4gLy3dxhOLtvD+pj3veed2Gg4tz+Xog/KZOSaP6eU5+06o/C2w4nns8udYt+U/vOF18npaGiu9e5+8nun0MjV3ItNKZzKtaDpTCqaQm5K7P9+eiPRSUiRQ/5i/me8/uwyAMYXpvP7NE7T3nYjst+1N7byxcjuvrazmnbU78AXDe7zX5TBMHpbF4SNzmTEyj8NG5lCanbrnN/e3wsZ3YM0rVK6bwzuhBuaneFmYmkKdc99Ff0td6UzKGMGkgqlMLjuaCYVTKUor0u88kT6WFAnUI/M38ce5a9jR7OeHZ03m2uNG98vXEZHk0+YP8Z91O3h33Q7mrd/J6updJ593V5Tp5ZDyHKaX53DI8BymlmWTnbaboTtrYcca2DyP8KZ5rN06jwWBWhameFmS4qW2BwkVQI51MMGVwYTUYiZkj2FC/sGMKZyKO3s4pBeCQ7sxiPRWUiRQAP5gmDnLq/jUuMLd/6ISEekDNU0+5m3Yybz1O1i0sY6123edhL475XmpTBmWzcHDsji4LJuDS7MozPTu2nPUWAlbFmIrl7C16gOW1q1habiFpV4Pqz0e/D0szeKyltGBAOP9AcbjZbw7i/EpxRRmlGIyiiKJVUZR9FUceaXmwW5WDooko6RJoEREEqG+1c/izfUs2lTL+5vqWLalgRb/7iejd5ef7mFiaSaTSrKYWJrFxJJMxhZlkOLu1mPUshOqlxGoWcWG7UtYWbeWlW3VrMTHao97t+US9iQ7FGKcP5JYjQv4GesPMNYfIMNaMM5IQpU1DLLKIq/sssh57ijIHQ1peb34ryMyeCmBEhGJo1DYsr6mmQ8r6llSUc+SLfWsqWrGH9rzPKrOnA7DqPw0JpZkMaEkk4klmUwsyWJ4biqO7r1PQR/h+s1srf6Q1TVLWV23jtWtlawJNrCVYK/iLgkGY8nUmECA0dFXdrjbvxMpOZA3OpJMFYyHwgmRV/5YcKlAqAwdSqBERBLMHwyzdnsTy7c28tG2BpZva2RVZWOPe6ogUjF9fDSZmlyayaTSSK9Vhnf3KwCb/c2srV/Lmh0rWF2zhLV1a1nbXEFLqHd7AOYHQ4wOBBgZCDIiGPmzPBCkPBgktfO/IcYZSayKJkHxlOjrYMgZqWFBGZSUQImIDEDhsKWirpWVlU2srGxkVVUjq6ua2FTbSm9+NY/MT2NyaRaTS7M4uCyLyaXZFGftZm4VkbpX21q2sbZuLWvq1rCubh1r69eysXEjwXDveqwACoIhyoJBhgWDDI/+OSwQojQUpCQYiiRYnsxIIlUyFUqnRf4smqzeKhnwlECJiAwirf4ga6ubWV3VxMpoUrWqqonaFn+P3yM/3cPkYVmRV2kWBw/LYnRBxh73Bg2EA2xu3My6+nWsr1/PhoYNfNzwMRsbNuIP9/zrdpcTClEaDFEcDFISClESjCRWJWEoyRpJUdEU3CXRpKpkKqSrfp8MHEqgREQGOWstNc0+VkV7qyKvJtbVNBPqPkdpD1LcDiYUZzKhJJPxxZmxOVaFmXvuCQqFQ2xr3sbHjR9T0VTBpsZNbG7aTEVjBVubtxKyPR+C3B1jLQWhUCSpCoUoNh5K0ooozRpJSf5ESkoPI3/YDJxDKLEKhMLUtfipbwvE/mxoDdDsC+IPhQkEw/hDkRcW3E4HHpcj9meax0lOqpvsNDc5qR6y09zkp3t2XXgwEIWC4G8CXzME2wkE22kNNNMWaKHV34o/7CdkDNbhJGychI0DnC7c3mw8Kbl43Cl4HB7cTjcep4dMd2a/1j/rtwTKGHM6cBvgBO621v56b/crgRIR6Vu+YIi11c2sqGxkxbZGlm9rYGVlU2xXhp7ITXMzuiCd0QUZjClMZ3RBOiPy0hiWk0pumnuP/0AFw0GqW6vZ1ryNLU1b2Nayja1NW6lsqaSypZLqlmqCtvfDgt25rKUwbCk2Xoo9mRSnFlGcWU5hdjkFOWMpLJhAYWYZ6e5e7FfYD4KhMDtb/FQ1tFPV2E517OVje5OP7Y3t1DT5qG3192qItqcyU1wUZXopykyhKMtLcVYKxVkplGSlUJLd0e519UGiFQ5Dez207IDWHYSbq2ls3EpdSyV1LTXUte+k1tdAbaCZ+lAr9eEADYRoMNDocNDgdNDkcBA8gOTHYWHJlYvB2YNtlfZTvyRQxhgnsAY4BdgCLAQutdau2NMzSqBERPpfOGzZXNsaS6pWVEYSq+rG3k0eh0iv1bCcVMpyUinM9JKf7iEv/ZM/I70fGV5X7JXudeFxRSaMh8IhdrbvpLKlkqqWqtirurWaqqatVDVvZYe/gb7KJVIt5BkXuY4Uct1p5LqzyEvJJdObTaY3h4yUXLJS88lIKyA9JZdUbw6pKdmkutNIdaXicriicVta/EFafJFXsy9Eiy9IfWuAulY/9a1+6lojvUc1zT5qmnzsaPaxs6V/EqO+lp3ioizTUJZhKEm1FHoD5LhbyXS1kuZowWNasKEGwuEGAsFG/MFm2oLNNAeaaQi20BBqpyEcpMFhqHc6qHM6qXc4CMe5En5K2LLwmo/69Wv0VwJ1NPATa+1p0fP/AbDW3rKnZ5RAiYgkzo5mH6urmjpe1U2sqW6itRcrAXvC6TB4XQ68LgcpbicelwOXw+B2OnA6DC6HwRl9YUKETD0hRx1BsxNveDMuthBiB22mkQaHn8Y4jUw5rMVtib1cFpzW4CDypwGcFgwGY8EQOSZ2zCctkaMu/7yaLkfGgMMYjIm8vzHRV+zWT97NRhJMCzZ6bK0ljMVaon9abOxqhMUSNpGWsLFYAyEsIQNBA0EMAQMBY2g3BpugbYCcFtKAVAxpOPBYgxOLw1ocWIy1YC0BG8KPxW/Abwx+Y/BimPuF5f0a394SqAPp9yoDKjqdbwFmHsD7iYhIPyrI8FIw1suxnTZaD4ct1U3tbKhpYcOOFj6uaeHjHc1srW9ja11br8osfCIUtrT6Q9HELNCDJxxAfvQ1fperxrRT6NpCsWcz2e5KUt01GFcjAVcbra4gDU5LjdPZ4wrtexI2Bp+B3ffT2T0cD1QdKV28eEMOvCEX7pAXRygVgukEQ5n4g1mMLS7nuk/NIDutkKyUbLI8WWR6MvE4PD2fwxQOQ6AlMn/K1wS9LMfR1/pv4DDKGHM9cH30tNkYs7q/v2YSKAB2JDoI2W/6/AY/fYZxtrHv31KfYRzNBx7p27eM1+c3ck8XDiSB2gqUdzofHm3rwlp7J3DnAXwd6cYYs2hPXYoy8OnzG/z0GQ5++gwHt4Hw+R1IadiFwDhjzGhjjAe4BHihb8ISERERGbj2uwfKWhs0xnwVmEOkjMG91tr+nc0lIiIiMgAc0Bwoa+3LwMt9FIv0nIZEBzd9foOfPsPBT5/h4Jbwzy+ulchFREREhgJtjy0iIiLSS0qgBihjzOnGmNXGmHXGmO/t5b4LjDHWGKPVJAPMvj5DY8zVxpgaY8yH0dfsRMQpe9aTn0NjzEXGmBXGmOXGmH/EO0bZsx78DP6x08/fGmNMfSLilD3rwWc4whjzpjFmsTFmqTHmzLjFpiG8gaen2+QYYzKBlwAP8FVrrcq8DxA9+QyNMVcDM6y1X01IkLJXPfwMxwFPAJ+21tYZY4qstdsTErB00dvtxowxNwKHWmu/EL8oZW96+DN4J7DYWvs3Y8xk4GVr7ah4xKceqIHpSGCdtXaDtdYPPAacs5v7fg78BmiPZ3DSIz39DGXg6slneB1wu7W2DkDJ04DS25/BS4FH4xKZ9FRPPkMLZEWPs4Ft8QpOCdTAtLttcso632CMOQwot9a+FM/ApMf2+RlGXRDtdn7KGFO+m+uSOD35DMcD440x7xpj/muMOT1u0cm+9PRnEGPMSGA08EYc4pKe68ln+BPgCmPMFiJVAW6MT2hKoAYlY4wD+APwrUTHIgfkn8Aoa+00YC7wQILjkd5zAeOAE4n0YNxljMlJaESyPy4BnrLW9u2uyhIPlwL3W2uHA2cCD0X/jex3SqAGpn1tk5MJTAHeMsZsBI4CXtBE8gFln1sdWWt3Wms/2Q3zbuDwOMUmPdOT7aq2AC9YawPW2o+JzNcYF6f4ZO96tN1Y1CVo+G4g6slneC2ReYhYa+cBKUT2yet3SqAGpr1uk2OtbbDWFlhrR0Uny/0XOFuTyAeUfW51ZIwp7XR6NrAyjvHJvvVku6rniPQ+YYwpIDKktyGeQcoe9Wi7MWPMRCAXmBfn+GTfevIZbgZOBjDGTCKSQNXEIzglUAOQtTYIfLJNzkrgCWvtcmPMz4wxZyc2OumJHn6GX4sufV8CfA24OjHRyu708DOcA+w0xqwA3gRuttbuTEzE0lkvfo9eAjxmtSR9wOnhZ/gt4Lro79FHgavj9VmqjIGIiIhIL6kHSkRERKSXlECJiIiI9JISKBEREZFeUgIlIiIi0ktKoERERER6SQmUiAwIxpgfRMs6LDXGfGiMmZnomERE9sSV6ABERIwxRwNnAYdZa33RopSeA3g/V7SGjIhIv1APlIgMBKXAjk+2trHW7rDWbjPGHGGMec8Ys8QYs8AYk2mMSTHG3GeMWWaMWWyMOQnAGHO1MeYFY8wbwOvRtpuNMQujvVo/jbalG2Neir7nR8aYixP1TYvI4KUeKBEZCF4FfmSMWQO8BjxOZGuNx4GLrbULjTFZQBvwdcBaa6dGt+F41RgzPvo+hwHTrLW1xphTiexLdyRgiOwX+SmgENhmrf0sgDEmO37fpogMFeqBEpGEs9Y2E9lM+Xoi+1g9DnwRqLTWLoze0xgdljsOeDjatgrYRGQPOoC51tra6PGp0ddi4ANgIpGEahlwijHmN8aY4621DXH4FkVkiFEPlIgMCNbaEPAW8JYxZhnwlf14m5ZOxwa4xVp7R/ebjDGHAWcCvzDGvG6t/dl+fC0RSWLqgRKRhDPGTDDGjOvUNJ3I5qGlxpgjovdkGmNcwDvA5dG28cAIYPVu3nYO8AVjTEb03jJjTJExZhjQaq19GPgtkWE/EZFeUQ+UiAwEGcCfjTE5QBBYR2Q4775oeyqR+U+fAf4K/C3aSxUksvu6zxjT5Q2tta8aYyYB86LXmoErgLHAb40xYSAA3BCH709EhhhjrU10DCIiIiKDiobwRERERHpJCZSIiIhILymBEhEREeklJVAiIiIivaQESkRERKSXlECJiIiI9JISKBEREZFeUgIlIiIi0kv/D3mlo3tEBxBPAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 720x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,10))\n",
    "sb.kdeplot(S0, lw=3, label='scikit', clip=(0.35, 0.8))\n",
    "sb.kdeplot(S1, lw=3, label='eif_cxx',  clip=(0.35, 0.8))\n",
    "sb.kdeplot(S2, lw=3, label='eif_python',  clip=(0.35, 0.8))\n",
    "plt.legend(loc=0)\n",
    "plt.xlabel('Scores')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
